package com.pactera.madp.cp.service.sync;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.pactera.madp.cp.api.dto.ContactRadarDto;
import com.pactera.madp.cp.api.entity.sync.MaRadarEntity;
import com.pactera.madp.cp.api.vo.ContactRadarVO;

import java.util.List;

/**
 * @title 客户雷达表-业务接口定义
 * @date 2022-05-14
 * @author Deming.Chang
 */
public interface MaRadarService extends IService<MaRadarEntity> {

    /**
     * 统计营销线索并保存
     * @param lastMaxReceiveTime 本系统采集事件表上一次同步最大接收时间
     * @return 插入记录数
     */
    int handlerAndSave(Long lastMaxReceiveTime);

    /**
     * 删除指定日期指定天数前的数据
     * @param maDate    指定日期
     * @param offset    指定天数
     * @return
     */
    int removeHisData(String maDate, int offset);

    /**
     * 根据wxUserId查询最近3条客户动态雷达数据
     * @param wxUserId  企业微信用户id
     * @return          客户动态雷达数据top3
     */
    List<ContactRadarVO> top3(String wxUserId);

    /**
     * 分页查询客户动态雷达数据
     * @param page      分页组件
     * @param dto       查询条件实体
     * @return          客户动态雷达数据分页列表
     */
    IPage<ContactRadarVO> pageResult(Page page, ContactRadarDto dto);

}
